package com.xiaoshuidi.cloud.module.rooms.pojo;


import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.io.Serializable;

import com.xiaoshuidi.cloud.framework.tenant.core.db.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/***
 * @Description 房间资产
 * @Param
 * @Return
 * @Date 2023/5/17 16:06
 * @Author Link
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("room_equipment")
public class RoomEquipment extends TenantBaseDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 资产状态
     */
    private String status;


    @Schema(description = "公寓ID")
    private Long apartmentId;

    @Schema(description = "小区Name")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String area;

    @Schema(description = "楼层")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer floorNo;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String buildingNo;

    @Schema(description = "集中式？")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Boolean isConcentrated;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String unitNo;

    @Schema(description = "关联的房间ID")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long roomId;

    @Schema(description = "是否是公区")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Boolean isPub;

    /**
     * 资产编码
     */
    private String code;

    /**
     * 资产类别ID
     */
    private Long categoryId;

    /**
     * 位置类别
     */
    private String positionType;

    /**
     * 所属方
     */
    private String own;

    /**
     * 关联的供应商ID
     */
    private Long supplierId;

    /**
     * 购买时间
     */
    private LocalDate purchaseTime;

    /**
     * 保修截止时间
     */
    private LocalDate warrantyTime;

    /**
     * 售后电话
     */
    private String afterSalesTel;

    /**
     * 采购价
     */
    private BigDecimal purchasePrice;

    /**
     * 定价 赔偿金额
     */
    private BigDecimal price;

    /**
     * 负责人
     */
    private String manager;

    /**
     * 负责人ID
     */
    private Long managerId;

    /**
     * 规格
     */
    private String specification;

    /**
     * 具体方位 (0, 其他),
     * (1, 厨),
     * (2, 卫),
     * (3, 主卧),
     * (4, 次卧),
     * (5, 阳台),
     * (6, 过道),
     * (7, 厅),
     * (8, 整套)
     */
    private String position;

    /**
     * 备注
     */
    private String remark;

    /**
     * RFID
     */
    private String rfid;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 使用期限
     */
    private String shelfLife;

    /**
     * 计量单位
     */
    private String unit;

    /**
     * 内部资产编码
     */
    private String assetCode;

    /**
     * 赔偿金额 作废没用
     */
    private BigDecimal compensationAmount;

    /**
     * 是否确认 作废没用
     */
    private Integer confirmStatus;

    /**
     * 赔偿备注 作废没用
     */
    private String compensationRemark;

    /**
     * 是否确认赔偿 作废没用
     */
    private Integer compensationStatus;

    /**
     * 图片列表,最多五张
     */
    private String pic;

    @Schema(description = "部门编号")
    private Long deptId;

}
